Java 保留几位小数 |
您所在的位置:网站首页 › float型保留几位小数 java › Java 保留几位小数 |
java 中常见的保留几位小数的操作,通常都会用到BigDecimal 类 例如: /** * 四舍五入 */ @Test public void test() { double num = 111231.5585; BigDecimal b = new BigDecimal(num); //保留2位小数 double result = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(result); //111231.56 }或者 public static void main(String[] args) { // TODO Auto-generated method stub double f1 = 124.454654; java.text.DecimalFormat df = new java.text.DecimalFormat("#.000"); f1 = Double.parseDouble(df.format(f1)); System.out.println(f1); }但是他们都有一个弊端,就是当数组较大时,会产生 科学计数法。 public static void main(String[] args) { // TODO Auto-generated method stub double f1 = 1234324535; java.text.DecimalFormat df = new java.text.DecimalFormat("#.000"); f1 = Double.parseDouble(df.format(f1)); System.out.println(f1); //1.234324535E9 }如上所示。 然后查找如何消除科学计数法,找到博客 链接:https://blog.csdn.net/weixin_43992934/article/details/108006838
确实可以解决科学计数法的问题。 但是如果我希望得到的值,乘以100或者1000怎么办呢?于是想到移动小数点。 /** * 移动小数点 * @param str 待移动的字符串 * @param capacity 向右移动的位数 * @return */ public static String moveDot(String str,int capacity) { if (str.equals("0.000")) { return "0.0"; } if (str.equals("0.0000")) { return "0.00"; } int index = str.indexOf("."); char[] cas = str.toCharArray(); for (int i = 0 ;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |